//
//  TwoViewController.m
//  RAC
//
//  Created by 宜必鑫科技 on 2017/10/27.
//  Copyright © 2017年 宜必鑫科技. All rights reserved.
//

#import "TwoViewController.h"

@interface TwoViewController ()
@property (nonatomic, strong) UITextField *textField;
@end

@implementation TwoViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
   
    _textField = [[UITextField alloc]initWithFrame:CGRectMake(10, 50, ScreenWidth - 20, 50)];
    _textField.backgroundColor = [UIColor grayColor];
    [self.view addSubview:_textField];
}

#pragma mark - bind
- (void)bindMethod
{
    /**
     假设想监听文本框的内容，并且在每次输出结果的时候，都在文本框的内容拼接一段文字“输出：”
     */
    //    ******************方式1、 在返回结果后拼接
    //    [_textField.rac_textSignal subscribeNext:^(id x) {
    //        NSLog(@"输出：%@",x);
    //    }];
    
    //    ******************方式2、在返回结果前拼接，使用RAC中的bind方法做处理
    /**
     bind方法参数：需要传入一个返回值是RACSignalBindBlock的block参数
     RACStreamBindBlock是一个block类型，返回值是信号，参数（Value，stop），因此参数的block返回值也是一个block
     
     
     RACStreamBindBlock：
     参数一（value）：表示接受到信号的原始值，还没有做处理
     参数二（*stop）: 用来控制绑定block，如果*stop = YES,那么久结束绑定
     返回值：信号，做好处理，再通过这个信号返回出去，一般使用RACReturnSignal，需要手动导入头文件RACReturnSignal.h
     
     
     bind方法使用步骤
     1、传入一个返回值RACStreamBindBlock的block
     2、描述一个RACStreamBindBlock类型的bindBlock作为block的返回值
     3、描述
     */
}


@end
